package com.ponhu.ea2.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.ObjectUtils;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品表
 *
 * @TableName ph_goods
 */
@Data
@Accessors(chain = true)
@TableName(value = "ph_goods")
public class Goods extends Model<Goods> {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 商品编码
     */
    private String goodsCode;

    /**
     * 商品类型
     * {@link com.ponhu.ea2.enums.GoodsTypeEnum}
     */
    private Integer type;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 商品卖点
     */
    private String sellingPoint;

    /**
     * 商品状态
     * {@link com.ponhu.ea2.enums.GoodsStatusEnum}
     */
    private Integer goodsStatus;

    /**
     * 含税销售价
     */
    private BigDecimal saleTaxPrice;

    /**
     * 含税供货价
     */
    private BigDecimal supplyTaxPrice;

    /**
     * 创建人ID
     */
    private Integer createdById;

    /**
     * 创建人姓名
     */
    private String createdByName;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新人ID
     */
    private Integer updatedById;

    /**
     * 更新人姓名
     */
    private String updatedByName;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;

    /**
     * 商品卖点语音地址
     */
    private String sellingPointAudio;

    public BigDecimal getMathSaleTaxPrice() {
        if (ObjectUtils.isEmpty(saleTaxPrice))
            return new BigDecimal(0);
        return saleTaxPrice;
    }

    public BigDecimal getMathSupplyTaxPrice() {
        if (ObjectUtils.isEmpty(supplyTaxPrice))
            return new BigDecimal(0);
        return supplyTaxPrice;
    }
}